﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace TestRecurso
{

    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void ObtenerRecursos()
        {
            //1. Instancia el objeta a probar
            ServiceReference1.RecursosServicesClient proxy = new ServiceReference1.RecursosServicesClient();


            //2. Invoca al método a probar del objeto intanciado
            ServiceReference1.Recurso resultado = proxy.ObtenerRecurso(7);

            //3. Realizar las validaciones
            Assert.AreEqual(7, resultado.Codigo);
        }

        [TestMethod]
        public void CrearRecursos()
        {
            //1. Instancia el objeta a probar
            ServiceReference1.RecursosServicesClient proxy = new ServiceReference1.RecursosServicesClient();


            //2. Invoca al método a probar del objeto intanciado
            ServiceReference1.Recurso resultado = proxy.CrearRecurso("COMPUTADORA 16", "A", 2);

            //3. Realizar las validaciones
            Assert.AreEqual(11, resultado.Codigo);
        }

        [TestMethod]
        public void ModificarRecursos()
        {
            //1. Instancia el objeta a probar
            ServiceReference1.RecursosServicesClient proxy = new ServiceReference1.RecursosServicesClient();


            //2. Invoca al método a probar del objeto intanciado
            ServiceReference1.Recurso resultado = proxy.ModificarRecurso(1, "ZZZZZZZ", "A", 2);

            //3. Realizar las validaciones
            Assert.AreEqual("ZZZZZZZ", resultado.Nombre);
        }

        [TestMethod]
        public void EliminarRecursos()
        {
            //1. Instancia el objeta a probar
            ServiceReference1.RecursosServicesClient proxy = new ServiceReference1.RecursosServicesClient();


            //2. Invoca al método a probar del objeto intanciado
            proxy.EliminarRecurso(10);

            //2. Invoca al método a probar del objeto intanciado
            ServiceReference1.Recurso resultado = proxy.ObtenerRecurso(10);

            //3. Realizar las validaciones
            Assert.AreEqual(null, resultado);


        }

        [TestMethod]
        public void ContarCantidadDeRecursos()
        {
            //1. Instancia el objeta a probar
            ServiceReference1.RecursosServicesClient proxy = new ServiceReference1.RecursosServicesClient();


            //2. Invoca al método a probar del objeto intanciado
            ServiceReference1.Recurso[] resultado = proxy.ListarRecursos();

            //3. Realizar las validaciones
            Assert.AreEqual(8, resultado.Length);
        }
    }
}